package com.example.teemor.es_demo.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.Map;

/**
 * 用户行为日志实体类
 * 用于存储前端用户行为埋点数据
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserBehavior {
    
    /**
     * 时间戳
     */
    private LocalDateTime timestamp;
    
    /**
     * 用户ID
     */
    private String userId;
    
    /**
     * 会话ID
     */
    private String sessionId;
    
    /**
     * 事件类型 (page_view, click, form_submit, scroll, etc.)
     */
    private String eventType;
    
    /**
     * 页面URL
     */
    private String pageUrl;
    
    /**
     * 页面标题
     */
    private String pageTitle;
    
    /**
     * 用户代理信息
     */
    private String userAgent;
    
    /**
     * 设备信息
     */
    private String deviceInfo;
    
    /**
     * 浏览器信息
     */
    private String browserInfo;
    
    /**
     * 操作系统信息
     */
    private String osInfo;
    
    /**
     * 屏幕分辨率
     */
    private String screenResolution;
    
    /**
     * 事件详细数据（JSON格式）
     */
    private String eventData;
    
    /**
     * 来源页面
     */
    private String referrer;
    
    /**
     * IP地址
     */
    private String ipAddress;
    
    /**
     * 地理位置信息
     */
    private String location;
}